#include "VentanaPrincipal.h"


VentanaPrincipal::VentanaPrincipal(const char* configHechos, const char* archConsultas):
	gestorArchivoConfiguracion(configHechos), archivoConsultas(archConsultas){
	set_size_request(800,460);
	set_position(Gtk::WIN_POS_CENTER_ALWAYS);

	frameUsuario = NULL;
	frameAdmin = NULL;
	cajaB.pack_start(botonCliente,Gtk::PACK_EXPAND_PADDING);
	cajaB.pack_start(botonAdmin,Gtk::PACK_EXPAND_PADDING);
	cajaVBoton.pack_start(cajaB, false, false, 100);
	botonCliente.set_label("modo cliente");
	botonAdmin.set_label("modo administrador");

	cliente.conectar();
	cliente.setVentana(this);
	cliente.start();


	botonAdmin.signal_clicked().connect(sigc::mem_fun(*this, &VentanaPrincipal::on_boton_admin));
	botonCliente.signal_clicked().connect(sigc::mem_fun(*this, &VentanaPrincipal::on_boton_cliente));
	add(cajaVBoton);
	show_all_children();
}

void VentanaPrincipal::on_boton_cliente() {
	set_title("Modo cliente");
	remove();
	frameUsuario= Gtk::manage(new FrameDelUsuario(archivoConsultas.c_str(),gestorArchivoConfiguracion, &cliente));
	add(*frameUsuario);
	frameUsuario->portalesCarguenCombos();	// esto avisa a los portales para que envien la consulta  de los innputs
	show_all_children();
}

void VentanaPrincipal::on_boton_admin() {
	set_title("Modo cliente");
	remove();
	frameAdmin= Gtk::manage(new FrameDelAdministrador(gestorArchivoConfiguracion));
	add(*frameAdmin);
	show_all_children();
}

void VentanaPrincipal::setRespuesta(Respuesta *respuesta) {
	if(frameUsuario != NULL)
		frameUsuario->setRespuesta(respuesta);
}




VentanaPrincipal::~VentanaPrincipal() {

}
